A Complete Automation of Unit Testing for Java Programs
نویسندگان
چکیده
Program testing is expensive and laborintensive, often consuming more than half of the total development costs, and yet it is frequently not done well and the results are not always satisfactory. However, testing is the primary method to ensure that programs comply with requirements. We describe our on-going project that attempts to completely automate unit testing of objectoriented programs. Our project investigates the use of an evolutionary approach, called genetic algorithms, for test data generation and the use of program specifications, written in JML, for test result determination. A proofof-concept tool has been implemented and shows that a complete automation is feasible for unit testing Java programs. Automated testing techniques such as ours can complement manual testing by testing significant portion of object-oriented programs, as methods in object-oriented programs tend to be small; manual testing can focus more interesting problems, e.g., inter-class testing.
منابع مشابه
Dataflow Testing of Java Programs with DFC
The objective of this paper is to present a tool supporting dataflow coverage testing of Java programs. Code based (”white box”) approach to testing can be divided into two main types: control flow coverage and data flow coverage methods. Dataflow testing was introduced for structural programming languages and later adopted for object languages. Among many tools supporting code based testing of...
متن کاملDrawkcab Gnimmargorp: Test-Driven Development with FUTS
One of the practices of Extreme Programming is Test-Driven Development (TDD), also known as Test-First Design. This style of development emphasizes an approach that is backwards to many programmers: writing tests before working code. Interestingly, this approach has found application in both agile methodologies and validation-intensive programming environments. TDD involves creating automated a...
متن کاملExperimental Comparison of Concolic and Random Testing for Java Card Applets
Concolic testing is a method for test input generation where a given program is executed both concretely and symbolically at the same time. This paper introduces LIME Concolic Tester (LCT), an open source concolic testing tool for sequential Java programs. It discusses the design choices behind LCT as well as its use in automated unit test generation for the JUnit testing framework. As the main...
متن کاملExploiting Symmetries to Test Programs
Symmetries often appear as properties of many artifical settings. In Program Testing, they can be viewed as properties of programs and can be given by the tester to check the correctness of the computed outcome. In this paper, we consider symmetries to be permutation relations between program executions and use them to automate the testing process. We introduce a software testing paradigm calle...
متن کاملSystematic Unit-Testing of Ada Programs
The systematic test is an inevitable part of the verification and validation process for software. Overall support for all testing activities is currently not available in a single Ada testing tool. Hence, a combination of powerful testing tools is necessary to provide systematic and complete test process automation for the examination of Ada programs. The classification-tree editor CTE support...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005